#include "Tank.h"
#include <string.h>
#include <cstdlib>
#include <cmath>
#include <fstream>
#include <list>
using namespace std;

#include "core.h"

#pragma once

void markChoiceType(list<Choice>& ls, char type);
void printOrder(Order& o);
void printChoice(Choice& c);

inline char boolChr(bool val) {
	return val ? 'T' : 'F';
}

void printResourceNeedCapture();

void printDestination();

void printList(list<Item> list_);
bool IsOk(short row, short col);
bool notInDestination(int sourceNum);
int calculateLength(short row1,short col1,short row2,short col2);
bool haveEnemy(short row, short col,DataForAI data);
bool compare(Item item1, Item item2);
short getPriceToPoint(short row, short col);
Order getOrder(short tank_row, short tank_col, short nextStep_row,
		short nextStep_col, DataForAI data);
void updateField(DataForAI& data);
PathFindingResult pathFindingUsingAStar(Point start_point, Point end_point, DataForAI data);
PathFindingResult pathFindingUsingAStar2(Point start_point, Point end_point);

